﻿using Firefly.Framework.Graphics;
using Microsoft.Xna.Framework;

namespace Firefly.Framework.Components.Cameras
{    
    public interface ICamera : IUpdateableComponent, IHasViews, ISpatial3D, ITransformable3D
    {
        bool ResetOnRollover { get; set; }
        float Yaw { get; set; }
        float Pitch { get; set; }
        float Roll { get; set; }
        float NearClipPlane { get; set; }
        float FarClipPlane { get; set; }
        float FieldOfView { get; set; }
        BoundingFrustum BoundingFrustum { get; }
        Matrix ViewProjection { get; }
        Matrix WorldViewProjection { get; }
    }
}
